/**
 * 
 */
package travibot.ui.gui.forms;

import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import travibot.engine.GameSessionFacade;
import travibot.engine.Session;
import travibot.engine.TaskQueue;
import travibot.model.Village;
import travibot.ui.gui.StatusNotification;


/**
 * @author macekpet
 *
 */
public interface MainForm {
    
    void createSShell(Display display);
    
    Shell getSShell();
    
    ImageRegistry getImageRegistry();
    
    void setSession(Session session);
    
    void setGameSession(GameSessionFacade gameSession);
    
    GameSessionFacade getGameSession();
    
    void updateBuildingsTab(final Village village);
    
    void updateCityList(final Session session);
    
    void updateFieldsTab(final Village village);
    
    void updateStatusBar(final StatusNotification statusNotification);
    
    void updateTasksTab(final TaskQueue queue);

}
